The present invention is directed to digital signal processing. It pertains particularly to the processing of signals representing video images.
The output of a video camera is often digitized to produce a sequence of digital level signals, each one representing the intensity of a picture element in the image seen by the camera. The sequence is typically stored in a memory and/or subjected to further processing.
There are many ways in which the processing may occur, but a large fraction of these processing techniques include one or both of two basic functions. These are the histogram and feature-identification functions.
The histogram function is a determination of the frequency with which various intensity levels occur in the image. For each level, or for each one of several predetermined groups of levels, the number of picture elements of the image having that level, or whose level falls within that group of levels, is ascertained. Such a step may be used, for instance, in assessing the general brightness or contrast of an image so that it can be adjusted automatically.
Feature identification is the process of locating the picture elements that have a particular level or have one of a particular group of levels. The feature-identification function can be used, for instance, in locating holes in a printed-circuit board.
The image processing that employs these functions is typically performed by processors in which software defines the process to be performed. However, there are many applications in which the speed required is high enough that software implementation of the basic histogram and feature-identification functions is not practical. Accordingly, the need has arisen for hardware implementation of these functions.
An object of the present invention is to perform sorting and feature identification by means of hardware that lends itself readily to real-time performance of the histogram and feature-identification functions.
Another object of the present invention is for the histogram and feature-identification functions to share hardware so that hardware requirements can be kept low.